change data structure
add effect of z
update solver