update & add new code