new face

refactoring the code