added func_partial
changed to require_once