fixed so it compiles on gcc threres trouble about