Tab completion overhaul