Full code review

Please include a unittest for this data if it's not too time consuming.