modified on 12/18, updated on 12/20