fix bug
fix readonly bug, need check again