added documentation to source