committing code for Tim to look at