added cosine interpolate, cell 3d array (might add N dimension later), some procedural stuff