setup Makefile and structure