using zxing source instead of his library