add address and fix a lot of bug