provide a stricter contract to parse-frame. and fix one implementation thereof