do these methods need to be in the header because its a templated class?