modified a, b, c