def expand(self, dx, dy=None, dz=None):
        '''
        Return a new box with boundaries expanded by dx, dy, dz. If only dx is passed, expands by dx in all dimensions
        
        :param dx: The direction to expand on the X axis
        :type dx: int
        :param dy: The direction to expand on the Y axis
        :type dy: int
        :param dz: The direction to expand on the Z axis
        :type dz: int
        :return: A new box with the dimensions expanded by the specified values
        :rtype: pymclevel.box.BoundingBox
        '''
        if dz is None:
            dz = dx
        if dy is None:
            dy = dx

        origin = self.origin - (dx, dy, dz)
        size = self.size + (dx * 2, dy * 2, dz * 2)

        return BoundingBox(origin, size)

        Return a new box with boundaries expanded by dx, dy, dz. If only dx is passed, expands by dx in all dimensions
        
        :param dx: The direction to expand on the X axis
        :type dx: int
        :param dy: The direction to expand on the Y axis
        :type dy: int
        :param dz: The direction to expand on the Z axis
        :type dz: int
        :return: A new box with the dimensions expanded by the specified values
        :rtype: pymclevel.box.BoundingBox
        
pymclevel/box.py