wrapped up the base features I want for client side templates