uodated shapes, added slope and isvalid