added encapsulated behaviours