cleaner implementation for arch modularization