update to compile properly on posix