onRight and onLeft are equal
onAllRight and onAllLeft are equal
just introduce parameters (from, to)