todo: primitive array conversion