Linux

This is an innitial commit to get the code to compile in linux. review is required before merging.