add get/set tests, type validation and update docs