templates should be app-independent