decoupling UI and spring side