Have you paid anything yet? Don't. Drop him. Here are two good reasons to drop him: 1. You are wasting your time -- I don't think he'll give you anything, or you'll end up spending so much money that profits are unreasonable. 2. Even if he does, what guarantee is there that there is no "surprise" hidden in the code? I have seen freelancers do that when they're disappointed in the buyer. Find another guy and learn fro…
I paid him more than 2000 dollars of the fee already unfortunately. I've learnt a lot from this, specifically that even really good coders (or any professional) can be very good at what they do but still be completely unreasonable and willing to screw you.
Your best bet at this point is going to be to start over. Get yourself a good hacker; I bet there are a few around here looking for short-term gigs - I am, for one. If you have a decent written spec, it should be no problem for any decent programmer to give you a reasonably accurate timeline and meet the milestones. As others have said, pay by the milestone, and make sure you get the source code.