abstractions
