adding better documentation, configuration management, and http handling