timer stuff + passing state