Moved some implementation classes from api to core