Add workspace concept and root directory