add some new codes