updated to reflect 4 basic use cases