finished non-asynchronous ATM implementation, with some extensions
oh, also the gemfile lol