Promisification continues; working, but needs more refactoring