add active object
add monitor object
add scoped locking
add strategized locking