includes functions for finding windows based on various attributes, getting information about visible and invisible windows, and making window names unique