full documentation added