added generics if you need to check how to do it check test 12