using left and right variables, big mess