refactored get columns