added more documentation on shapes