re-organize module