added source and Makefile