- db prop is passed down from top layer (to make testing easier, and for memory efficiency) - functions are organised into separate, themed files - for readability - tests now pass down a test database, and update it accordingly