Made the data compiler a bit more generalized, and added command line argument support