add interpretMessage and other cleanup