outsourced force monitoring into separate function