use decrementing arrays, huge performance increase over incrementing where possible.