Using generics, added info messages