unix++ ready and nearly compiles