make cases and some fixes