added and tested forward logic