custom some  function