better modularization, the @espy way!