Added file support, fixed zeroes error in division; has a naughty memory leak