Add Promise call and promise implementation