Do we need to consider generic type here?