first version of zabr implementation