Part of the reason for the popularity of the UML in industry may be due to the flexibility of its (initially underspecified) semantics and its extension mechanisms. This approach has allowed specialisations to be defined for different purposes while retaining a broadly familiar notation. UML-B provides a specialisation of the UML for rigorous modelling and specification of systems. It has a formal semantics defined by translation into the B language. This is automated by the tool, U2B. UML-B provides a visual form of B with some additional features such as an object-oriented style lifting of specification parts to a set of instances and a statemachine behavioural specification. UML-B was developed under the MATISSE and PUSSEE projects and continues to be developed as part of the RODIN project. Here we present the original concept and motivation for UML-B, point out some weaknesses and indicate how we plan to improve the UML-B notation tools to overcome this and move towards closer integration with the new Event B platform.