don't inadvertently silence errors!
minor tweaks
GIANT refactoring!!!