Add makefile.
Implement core functionality.