use a different function for the animation

also, a lot of other improvements
start to add dos