added reponding and details. refactored too