add more flexibility with config