Because it's always nice to learn C