improve forward_backward on initialization