use if-elsif instead of case