Realised that class templates can't have function body in a separate .cpp file