fixed many,many,many,many bugs