add some protection in TakeResourceAction