* fixed a lot of bugs