add cleanup call, implement DiskspacePrecondition, add WorkspaceExistsPrecondition