better makefile, surface rendering, todo