override hook