updated to be compatible with windows, hopefully. replaced 'inline' with '__inline'