code refactering