use column major storage internally