improve the code quality: proc monitor