Started work on tests...but needs a lot more work.