started to play with generics