big changes, thing builds on linux but doesn't actually do anything
still not complete