coding the new version