introduction of ui logic