Add a makefile and units tests