fixed compile and run