1. public and private api.