split core package off from api package

I'll merge this myself once I've tested it with Tortoise