compilation needs the -lm flag to work
