refacting something