make interact method shorter use mcs for holding state