first version basic ops are working: forward, backward, pivot