Added optional promise property