The final Version for class at least