base template and extensions