def makeFaces(vertex_coords):
    """ Construct a cube's faces from its vertices.

    Parameters
    ----------
    vertex_coords : numpy array of float, shape (num_vertices, 3)
        Vertex coordinates in the world frame.

    Returns
    -------
    faces : generator(numpy array of float, shape (4, 3)
        Coordinates of each face. For each face, coordinates are arranged in
        conter-clockwise order.
    """

    vertex_indices = (
        [0, 1, 2, 3],
        [0, 1, 5, 4],
        [1, 2, 6, 5],
        [3, 2, 6, 7],
        [4, 5, 6, 7],
        [0, 3, 7, 4]
    )

    faces = (vertex_coords[idxs, :] for idxs in vertex_indices)
    return faces