removed non-template code
base structure