Bug Fix: returns Promise properly