switching a bit buggy, we need a timer event