added more desccription and a exit condition