TimeFrame inner constructor works but fragile