removed non-template code