passing all data structures