added makefiles
added adapter design pattern