1 based and 0 based, and nt order