Array pattern

partially implemented #59