brought over streamline unit tests (all pass except async constructor)