simplified source object and fixed parser for array of primitives