working on C compiler