abstracted teh views