Updated impl.
We don't need abstract here... + include colspan in rendering