moved timer management to a seperate class