changes for visibilty stuff, code cleanup, implements publishsubscribe and allows for private public markers
some cleanup