swift protocol(0)