provide setup script also programmatically