simplified lib down to single call() function