making c oopl