removed guard and listen