final refactor complete
tweaks