added makefile and basic implementation.