split-out helper functions