Final working version

a lot of bugs, and not realized ideas.