socket driver implementation WIP