optimised using fewer classes

added common breakpoints