view handler now uses template