implemented zxing lib