feature(edit) add socket