change Shape constructor to include all properties