added a much faster implementation SimpleArrayHopper and refactored a little bit