More formatting and abstraction