User rewrite

Core part of user rewrite

Some rewrites to address known design problems