added workon_safe