hand-merge about ignoring interface convention