updates to methods, and todo: message passing.