some traits should be abstracts..