made default values more flexible