Shape Class rewrite