added compile/template methods