Major changes -- promises, more testing, etc