just library type stuff for c