calling it view instead because it shorter
use send error for 404s now
simplify action invoking