moving ui operations to own classes