added more documentation