added support for generics like arrays