improved code
improved code