Separated implementation from interface.

Adding makefile.