updated traits and parent methods