update with code
Would revisit the makefile again.