Added tons of new files while cleaning up cross platform issues
Merged