added key constructor classes and extensions to the view