use msg serialization
make pick() more general
update changelog
0.5.1