A lot of Bug fix