Move core classes to core package & add docs