fill the func