With contributions from Cris Tomboc.