direction direct update
direction direct update. resolves #568