why does this compile and run