working on zerop and new calling convention