Move functionality into model methods