replace uint64_t with sauer's ullong
mark tick() inline