use zk lib instead