Pretty good overall but could be cleaner.