refaktoroitu -__-