timewave implementation