learned a lot about allocation
Merge branch 'master' into nick
added memory allocation and header files
Merge branch 'nick'