more refratoring