now modular, adding routing