refactored several systems. created testing framework
merging