added proto_declarefunction