refactoring... ( X/Y Oo)