full GNU style support