Port to mac
Keep function names same accross OS's
Classes layed out
Finish Matrix implementation (still a few bugs)