WIP: Implementing first abstractions