accepts long options

breaks compatibility
not done yet(wont even compile)