working on libc (almost done!)