added DoS defense