added first, last, binPack (WiP)