improvements with a API help