The messy beginning of adding the Elf model. Currently non-functional
Completed refactoring to actual Elf model.