Converted all method to be promise based