added classes and behaviours