backward and forward working