need int64, else breaks on 32 bit plats