add setup function