#1 added documentation