updated code(30-dec)