code refacetor