switch complete. months and years still broken
11PM error, but otherwise perfect. really ugly code.