base UI class