add decode.v and add some structs that we need