most primitive idea
first refinement