generic configure