add app infra and makefile