add create modify function