return is useful for synchronous request