working on left and right
merged