working tests, and update usages
update docs