Abstraction is speeding this up