Added constructor documentation
Moved some methods around and added documentation