Begin testing & refactoring WIP