refine helper methods