initial backward

Added the original backward implementation