fix some more bugs, it works\!