implementing stack for communicators