ohh god so many bugs fixed