implemented antigrade, antireverse, etc