done as a function
working on promise chain tests