simplifying things
adding tests and test support to core