refinements and better naming