pass interface instead of client, update specs