correct dtype impl