More features; more tests