More-or-less final version