fixed implementation class