make calls more dynamic