small refacotr