F/merge proto

this is almost certainly not correct. is_empty() returns true if get_length() is > 0?