generics, cleanup, annotations, kaend needs to fix his crap
Merge remote-tracking branch 'origin/1.6.1' into 1.6.1