Currently broken but working on adding tests and more complex validation