Started implementing primary classes in core

 - Tests are now very broken and haven't been fixed - should be fixed next
Fixed up tests from last commit