working left and right
fully working, can work on precision