TODO: set line numbers dynamically