Moving core types to separate module