added source and makefile