adaptive methods