added monitor, buffer, not yet merged with main