generate get func