Renamed files
Update to use promises, including full test coverage