wow. this was much simpler as just a method tacked onto Array