Split off core into seperate project