some changes before refractoring