made views more generic