add implementation for CPL array