adding data_changeable protocol to the project