do strickt key checking - but we will confirm using pipes