recursive cube