some more refractoring