Fixed formatting issues and made pluggable.

Format was horrible, so I fixed it. Secondly, added support
for passing in arguments rather than hard-coding them. (username, etC)