refactor to command and document performer