first draft of using the timer channel rather than the goroutine - doesn't quite work yet