move limits.h to Bitwalker.h
add contract for poke
try to improve contract