Implementing Engage() logic