add functional scripts