functions documentation added