make api a little bit more usage friendly and a generics fun