updated with basic usage patterns