timer needs to be reimplemented