Enhancement: better generics
Merge pull request #502 from thatsIch/enhancement-improve-generics

Enhancement: better generics