dynamically size the essential positions array