call for recursive prototype
call for n prototype