don't we want to perform the rest of the commands in this method in the callback here? rather than kicking off this function but not waiting for it to finish? that's what i originally meant by making this callback-based