passes JSHint now