implementing new behaviours 2