model and ui splitted