pre_prototype