still working on
TODO: add timer for logger