updated forward backward explanation