renamed SubView to AbstractView