- code cleanup
- fixed atomic block location problem
- stricter atomic block criteria
- return statement added
- some clean up in the code
- added atomic.h include