pretty much done, just need to write up a build process