separated logic for ui controls