implement infinit workspace.

TODO: change the way the workspace is saved.