Save workspace

closes #139, closes #141, closes #142