Added traits and signatures