fully functional script