WIP - code refresh

I haven't touched the project in a bit. Some style updates, dependency updates, documentation.