adding shape and exceptions
adding shape and exceptions