trab refact