add rust workspace
update base source