refact put