refact module