improved default behavior and attribute error handling.