protofunc?