rewritten piece states, fixed empty bitfield