change method signatures to make the API more consistent