refactor rename
woring with named views
try abstract state