Clearer code but more verbose. Also working.
Allow left-handedness