code improvements: added noop. nicer names for helper functions.