clean code
refactoring
optimize the architecture