under finishing the script, some tweaks left