fixed a lot of bugs!