slightly cleaner call structure