add binary writer
add license GPLv3
fix packet serialization