resolved a bunch of issues with promise... still need to write vows for it