Moved various methods to promises