ARM Update

This is a push that is prior to milestone 2. This is currently untested in the VM itself but I wanted to get a push to github because it's been a while and this has a good amount of important changes.