A fixed implementation