add unified setup script