fix generics to work with interface
fix package