Revert templated approach, mixing templates and inheritance not so good