refine code 3, release 1.0