add Shape class