Duplicate class definitions + general clean up. Should add gunicorn in requirements for Dockerization.