serious refactor. headed toward better implementation of Builder pattern.
start using logging, more refactoring