12 initial version of replace component procedure