Modeling works fine (but a lot of refactoring would be great