version a, b and c