added modifiers support and fixed bug where template methods where called to often