prototype: depend on Niilib