adding more flexibility