fix array edge handling