rework
structof -> container_of
cleanup
added evl_select_discard()
a rework
changes
updated