added initial-setup function