Can we move the pure abstracts to the top to make it easier to see what I need to implement to get one?