parameter abstract