form layout
view model with tests