functional explanation creation