cleaning up constructor, reducing OO madness, making constructor more explicit in terms of host/port, updating docs