starting with the desired API