add isLoose function