70% done,need to add pointer and animation.
merge conflict