define multi-functions