4 - core functionality

I have been busy