Ok, I understand. Well, I've been developing it for 4-5 months already, but mostly fixing bugs and getting something to work instead of growing the code. You'll see that everything is quite tight and understandable (at least I hope so). I'll submit the patch in 5-6 hours.