Search Controller: DRY-ing and cleanup