Hakuvalitsin refaktoroitu