use some helpers instead of duplicating logic.