controller condition implemented
owner condition implemented
tapped condition implemented