bugs fixed, but still many bugs remain...