Removed traits and made it simpler.