refacotr works