more unit tests and better support for arrays of primitive component type