more UI implementations, added index enum