improved Version class && workspace class prototype