updated description file and refactored code