Begin refactoring for promises cuz i like them