added rectangle, circle and "weird"