Added a lot of documentation strings