cleanup requires
remove unused type
prepare to support BSD by splitting out linux directory