array-like lookup