all script is (mostly?) debugged