pushing with func prototype