extended api function can now recieve a data object as a parameter