more cleanup
more refactoring
WORKING minimum - RP