refactor mostly done, moved into testing/validation phase, starting to work