Use types in core.
Do some refactoring.