new updated code