even more abstractions

even more abstractions
1