added public  function foo