initial commit
switched to promises