The main goal of the present paper is to unify two commonly used models of directed spaces: d-spaces and streams. To achieve this, we provide certain "goodness" conditions for d-spaces and streams. Then we prove that the categories of good d-spaces and good streams are isomorphic. Next, we prove that the category of good d-spaces is complete, cocomplete, and cartesian closed (assuming we restrict to compactly generated weak Hausdorff spaces). The category of good d-spaces is large enough to contain many interesting examples of directed spaces, including probably all which are interesting from the point of view of concurrency theory. However it fails to contain some spaces having applications to non-commutative geometry. Next, we define the class of locally d-path-connected spaces (ldpc-spaces); the additional condition allows us to eliminate some exotic examples of directed spaces. Again, we prove that ldpc-spaces and good ldpc-spaces form a category which is complete, cocomplete and cartesian closed.