update packages;
add unit tests