generate skeleton