added columns list to select - unit tests + optimization