reduced the number of build errors by removing unused imports, parameterizing generic types
reduce the number of build warnings by parameterizing generic types