implement our own identity reducer