add Override mark & reuse partly function