readme and improve API