Initial object code rewrite (needs testing)
Reworked end byte code
Small change to end byte code (no -1)
Rewritten to use cache (cache still needs testing)