cleaner architecture