Tons of work, need to write tests.