improve the code quality: user specific monitor