Extracted core into separate project