additional constructors for case classes
calling methods from different traits
partial functions + orElse andThen