states, message input etc