refactor: propagate generics type