couldn't get inheriting swift protocol to work