the makefile could be externalized too, but I see less value in that (as long as the install works)