add spa model and controller + concerns