maturing various API's (mostly for domain implementation)