dont give generics guarantees where it cannot be upheld
Removing method level generics where it seemed meaningless