I am trying multiple optimizations right now, mostly centered around reducing the amount of lookups required.