add param exchange core function
compiles ok
pass test
removing redundent libs