scrap the whole thing and throw an LS based something or other at it. Always the answer.