tested area func and fixed some bugs, now it's ok