use call_user_func for php 5.2