Working on tab support. The code is fugly at the moment, beware