added View class unfinished