refactor usermode program to use libnl3