breaking: database refactor