Added full promise support
FIXES #2