add automated tests. take initial swing at handling dates.