clean up and documentation added