added promises and tried some testing for promises. yuck
gp