implement remaining routes