Added some documentation as well