Add Tab Completion loosely based on @TheUnnamedDude's work.