self scriptt