Redefine template system. Code seperation