Almost. Tests and a bit of design left