switch shape code back to being a trait