add wrapper and timer