baseRefactor