basic UI, class structure