Thu, 04 Jun 2009 01:19:06 +0000Various improvements for NS pivot rules
kpeter [Thu, 04 Jun 2009 01:19:06 +0000] rev 2638
Various improvements for NS pivot rules

Mon, 01 Jun 2009 16:53:59 +0000Remove a faulty check from lp_test.cc
kpeter [Mon, 01 Jun 2009 16:53:59 +0000] rev 2637
Remove a faulty check from lp_test.cc

Mon, 01 Jun 2009 15:37:51 +0000Add the Cancel and Tighten min cost flow algorithm
kpeter [Mon, 01 Jun 2009 15:37:51 +0000] rev 2636
Add the Cancel and Tighten min cost flow algorithm

Mon, 01 Jun 2009 15:35:27 +0000XTI data structure for NS - backport hg commit [8c3112a66878]
kpeter [Mon, 01 Jun 2009 15:35:27 +0000] rev 2635
XTI data structure for NS - backport hg commit [8c3112a66878]

Fri, 06 Feb 2009 21:52:34 +0000Rework Network Simplex
kpeter [Fri, 06 Feb 2009 21:52:34 +0000] rev 2634
Rework Network Simplex
Use simpler and faster graph implementation instead of SmartGraph

Wed, 04 Feb 2009 14:42:31 +0000Remove a faulty include from elevator.h
alpar [Wed, 04 Feb 2009 14:42:31 +0000] rev 2633
Remove a faulty include from elevator.h

Sun, 21 Dec 2008 20:13:28 +0000Backport hg commit [81d40f1c850c] (ticket #197)
deba [Sun, 21 Dec 2008 20:13:28 +0000] rev 2632
Backport hg commit [81d40f1c850c] (ticket #197)

Sat, 20 Dec 2008 22:45:48 +0000Backport hg commit [52c04a2a652c] (ticket #197)
deba [Sat, 20 Dec 2008 22:45:48 +0000] rev 2631
Backport hg commit [52c04a2a652c] (ticket #197)

Thu, 13 Nov 2008 16:17:50 +0000Various improvements in NetworkSimplex.
kpeter [Thu, 13 Nov 2008 16:17:50 +0000] rev 2630
Various improvements in NetworkSimplex.

- Faster variant of "Altering Candidate List" pivot rule using make_heap
instead of partial_sort.
- Doc improvements.
- Removing unecessary inline keywords.

Thu, 13 Nov 2008 15:29:04 +0000Improved constructors for min cost flow classes
kpeter [Thu, 13 Nov 2008 15:29:04 +0000] rev 2629
Improved constructors for min cost flow classes
Removing the non-zero lower bounds is faster

Thu, 13 Nov 2008 10:54:42 +0000Improve tree update procedure in NetworkSimplex
kpeter [Thu, 13 Nov 2008 10:54:42 +0000] rev 2628
Improve tree update procedure in NetworkSimplex
The new method updates a smaller subtree (fixing a bug) and shifting the
potentials with a costant value.

Fri, 07 Nov 2008 20:15:10 +0000Backport doxygen options for version 1.5.7 from [9194a12c52e6]
kpeter [Fri, 07 Nov 2008 20:15:10 +0000] rev 2627
Backport doxygen options for version 1.5.7 from [9194a12c52e6]

Thu, 23 Oct 2008 16:49:06 +0000Adapt the doc generation to the hg repo
alpar [Thu, 23 Oct 2008 16:49:06 +0000] rev 2626
Adapt the doc generation to the hg repo

Wed, 15 Oct 2008 12:04:11 +0000Major improvement in the cost scaling algorithm
kpeter [Wed, 15 Oct 2008 12:04:11 +0000] rev 2625
Major improvement in the cost scaling algorithm

- Add a new variant that use the partial augment-relabel method.
- Use this method instead of push-relabel by default.
- Use the "Early Termination" heuristic instead of "Price Refinement".

Using the new method and heuristic the algorithm proved to be
2-2.5 times faster on all input files.

Wed, 08 Oct 2008 09:17:01 +0000Bug fixes is HaoOrlin and MinCostArborescence
deba [Wed, 08 Oct 2008 09:17:01 +0000] rev 2624
Bug fixes is HaoOrlin and MinCostArborescence

MinCostArborescence
- proper deallocation
HaoOrlin
- the target needn't to be the last in its bucket
- proper size of container (if each node starts in different buckets initially)

Mon, 06 Oct 2008 15:08:17 +0000Add missing pointer initializing in min cost flow classes
kpeter [Mon, 06 Oct 2008 15:08:17 +0000] rev 2623
Add missing pointer initializing in min cost flow classes

Sun, 05 Oct 2008 20:08:13 +0000Fix _setCoeff
deba [Sun, 05 Oct 2008 20:08:13 +0000] rev 2622
Fix _setCoeff

Sun, 05 Oct 2008 13:46:07 +0000Bug fix in min_cost_flow_test.cc
kpeter [Sun, 05 Oct 2008 13:46:07 +0000] rev 2621
Bug fix in min_cost_flow_test.cc

Sun, 05 Oct 2008 13:37:17 +0000Doc improvements
kpeter [Sun, 05 Oct 2008 13:37:17 +0000] rev 2620
Doc improvements

Sun, 05 Oct 2008 13:36:43 +0000Improve network simplex algorithm
kpeter [Sun, 05 Oct 2008 13:36:43 +0000] rev 2619
Improve network simplex algorithm

- Remove "Limited Search" and "Combined" pivot rules.
- Add a new pivot rule "Altering Candidate List".
- Make the edge selection faster in every pivot rule.
- Set the default rule to "Block Search".
- Doc improvements.

The algorithm became about 15-35 percent faster on various input files.
"Block Search" pivot rule proved to be by far the fastest on all inputs.

Fri, 19 Sep 2008 15:14:41 +0000G++-4.3 compatibility changes
deba [Fri, 19 Sep 2008 15:14:41 +0000] rev 2618
G++-4.3 compatibility changes

Tue, 22 Jul 2008 11:29:57 +0000Backport bug fix for Id handling from hg changeset [e67acd83a9ca]
deba [Tue, 22 Jul 2008 11:29:57 +0000] rev 2617
Backport bug fix for Id handling from hg changeset [e67acd83a9ca]

Tue, 22 Jul 2008 11:20:06 +0000Back port bug fix from hg changeset [0915721396dc]
deba [Tue, 22 Jul 2008 11:20:06 +0000] rev 2616
Back port bug fix from hg changeset [0915721396dc]

Wed, 02 Jul 2008 12:37:47 +0000Fix bug caused by m4 consuming pairs of square brackets (#108).
ladanyi [Wed, 02 Jul 2008 12:37:47 +0000] rev 2615
Fix bug caused by m4 consuming pairs of square brackets (#108).

Fri, 27 Jun 2008 06:37:14 +0000Update the version number
alpar [Fri, 27 Jun 2008 06:37:14 +0000] rev 2614
Update the version number

Fri, 13 Jun 2008 09:51:45 +0000Back porting hg commit 81563e019fa4
deba [Fri, 13 Jun 2008 09:51:45 +0000] rev 2613
Back porting hg commit 81563e019fa4

Tue, 10 Jun 2008 11:36:17 +0000Bug fix initialization
deba [Tue, 10 Jun 2008 11:36:17 +0000] rev 2612
Bug fix initialization
The std::numeric_limits<double>::min() means the smallest positive number,
and not the smallest number in the whole range of double.

Sun, 25 May 2008 16:35:05 +0000Fixing bug in named parameters (Back port bug fix of ticket #95)
deba [Sun, 25 May 2008 16:35:05 +0000] rev 2611
Fixing bug in named parameters (Back port bug fix of ticket #95)

Fri, 23 May 2008 10:55:41 +0000Bug fix full graph problam
deba [Fri, 23 May 2008 10:55:41 +0000] rev 2610
Bug fix full graph problam

Fri, 16 May 2008 12:28:23 +0000Fixing lp constraints (solving ticket #92)
deba [Fri, 16 May 2008 12:28:23 +0000] rev 2609
Fixing lp constraints (solving ticket #92)

Sat, 19 Apr 2008 13:04:51 +0000Avoid warning in random.h (backport of chgset 4790635473ef from lemon-1.0) lemon-0.7
alpar [Sat, 19 Apr 2008 13:04:51 +0000] rev 2608
Avoid warning in random.h (backport of chgset 4790635473ef from lemon-1.0)

Thu, 17 Apr 2008 21:46:06 +0000Remove SspMinCostFlow, since it is fully replaced by other classes.
kpeter [Thu, 17 Apr 2008 21:46:06 +0000] rev 2607
Remove SspMinCostFlow, since it is fully replaced by other classes.

Thu, 17 Apr 2008 21:28:21 +0000Revert mistaken changes in NEWS file.
kpeter [Thu, 17 Apr 2008 21:28:21 +0000] rev 2606
Revert mistaken changes in NEWS file.

Tue, 08 Apr 2008 16:01:28 +0000Bug fixes in LP solvers
deba [Tue, 08 Apr 2008 16:01:28 +0000] rev 2605
Bug fixes in LP solvers
- the copyLp is clarified
- newLp and copyLp gives back pointers
- cplex gives back empty string for variables without name
- cplex row and column retrieval
- added macro for soplex

Tue, 08 Apr 2008 15:16:16 +0000Fix Makefile.am
deba [Tue, 08 Apr 2008 15:16:16 +0000] rev 2604
Fix Makefile.am

Tue, 08 Apr 2008 14:43:44 +0000Small fixes in NEWS file
kpeter [Tue, 08 Apr 2008 14:43:44 +0000] rev 2603
Small fixes in NEWS file

Tue, 08 Apr 2008 11:39:40 +0000Rel.07 NEWS - 3. round
hegyi [Tue, 08 Apr 2008 11:39:40 +0000] rev 2602
Rel.07 NEWS - 3. round

Tue, 08 Apr 2008 11:38:17 +0000Rel.07 NEWS - 2. round
hegyi [Tue, 08 Apr 2008 11:38:17 +0000] rev 2601
Rel.07 NEWS - 2. round

Mon, 07 Apr 2008 16:28:20 +0000NEWS file updated for Release 0.7
hegyi [Mon, 07 Apr 2008 16:28:20 +0000] rev 2600
NEWS file updated for Release 0.7

Thu, 03 Apr 2008 12:06:48 +0000Serious bugfix in Random::gamma()
alpar [Thu, 03 Apr 2008 12:06:48 +0000] rev 2599
Serious bugfix in Random::gamma()
Backport from hg b6bede534255

Tue, 25 Mar 2008 16:28:06 +0000Minor bug fix
deba [Tue, 25 Mar 2008 16:28:06 +0000] rev 2598
Minor bug fix

Thu, 20 Mar 2008 16:57:12 +0000Correcting broken repo
deba [Thu, 20 Mar 2008 16:57:12 +0000] rev 2597
Correcting broken repo

Thu, 20 Mar 2008 16:25:47 +0000Back porting commit 81563e019fa4
deba [Thu, 20 Mar 2008 16:25:47 +0000] rev 2596
Back porting commit 81563e019fa4

Thu, 20 Mar 2008 11:38:01 +0000Bug fix for not connected graphs
deba [Thu, 20 Mar 2008 11:38:01 +0000] rev 2595
Bug fix for not connected graphs

Fri, 14 Mar 2008 14:50:04 +0000Executable property removed
deba [Fri, 14 Mar 2008 14:50:04 +0000] rev 2594
Executable property removed

Fri, 07 Mar 2008 00:24:23 +0000Fix static member initializations (ticket #30).
kpeter [Fri, 07 Mar 2008 00:24:23 +0000] rev 2593
Fix static member initializations (ticket #30).

Sun, 02 Mar 2008 22:55:27 +0000Revert to long long int since currently I don't know a better solution.
ladanyi [Sun, 02 Mar 2008 22:55:27 +0000] rev 2592
Revert to long long int since currently I don't know a better solution.

Sat, 01 Mar 2008 20:09:40 +0000In C++98 array size shall be an integral constant expression. Fixes
ladanyi [Sat, 01 Mar 2008 20:09:40 +0000] rev 2591
In C++98 array size shall be an integral constant expression. Fixes
ticket 12.

Sat, 01 Mar 2008 20:07:29 +0000There is no 'long long int' type in C++98 (only in C99).
ladanyi [Sat, 01 Mar 2008 20:07:29 +0000] rev 2590
There is no 'long long int' type in C++98 (only in C99).

Fri, 29 Feb 2008 16:09:29 +0000Bug fix in CapacityScaling.
kpeter [Fri, 29 Feb 2008 16:09:29 +0000] rev 2589
Bug fix in CapacityScaling.

Fri, 29 Feb 2008 15:57:52 +0000Small improvements in min cost flow files.
kpeter [Fri, 29 Feb 2008 15:57:52 +0000] rev 2588
Small improvements in min cost flow files.

Fri, 29 Feb 2008 15:55:39 +0000External flow and potential maps can be used in MinCostMaxFlow.
kpeter [Fri, 29 Feb 2008 15:55:39 +0000] rev 2587
External flow and potential maps can be used in MinCostMaxFlow.

Fri, 29 Feb 2008 15:55:13 +0000Reimplemented Suurballe class.
kpeter [Fri, 29 Feb 2008 15:55:13 +0000] rev 2586
Reimplemented Suurballe class.

- The new version is the specialized version of CapacityScaling.
- It is about 10-20 times faster than the former Suurballe algorithm
and about 20-50 percent faster than CapacityScaling.
- Doc improvements.
- The test file is also replaced.

Thu, 28 Feb 2008 16:33:40 +0000Backport of bug fix hg 2de55e4f57a7
deba [Thu, 28 Feb 2008 16:33:40 +0000] rev 2585
Backport of bug fix hg 2de55e4f57a7

Thu, 28 Feb 2008 02:58:26 +0000Test file for the min cost flow algorithms.
kpeter [Thu, 28 Feb 2008 02:58:26 +0000] rev 2584
Test file for the min cost flow algorithms.

Thu, 28 Feb 2008 02:57:36 +0000Small fixes and doc improvements in MinMeanCycle.
kpeter [Thu, 28 Feb 2008 02:57:36 +0000] rev 2583
Small fixes and doc improvements in MinMeanCycle.

Thu, 28 Feb 2008 02:55:23 +0000Avoid map copy in MinCostMaxFlow.
kpeter [Thu, 28 Feb 2008 02:55:23 +0000] rev 2582
Avoid map copy in MinCostMaxFlow.

Thu, 28 Feb 2008 02:54:27 +0000Query improvements in the min cost flow algorithms.
kpeter [Thu, 28 Feb 2008 02:54:27 +0000] rev 2581
Query improvements in the min cost flow algorithms.

- External flow and potential maps can be used.
- New query functions: flow() and potential().
- CycleCanceling also provides dual solution (node potentials).
- Doc improvements.

Wed, 27 Feb 2008 11:39:03 +0000Bug fixes
deba [Wed, 27 Feb 2008 11:39:03 +0000] rev 2580
Bug fixes

Mon, 25 Feb 2008 12:35:06 +0000Bug fixes in min cost flow files.
kpeter [Mon, 25 Feb 2008 12:35:06 +0000] rev 2579
Bug fixes in min cost flow files.
Use enum type instead of static constants in NetworkSimplex to avoid
linker errors.

Thu, 21 Feb 2008 13:06:33 +0000Put the definitions of global functions into a .cc file.
ladanyi [Thu, 21 Feb 2008 13:06:33 +0000] rev 2578
Put the definitions of global functions into a .cc file.

Mon, 18 Feb 2008 03:34:16 +0000Add a cost scaling min cost flow algorithm.
kpeter [Mon, 18 Feb 2008 03:34:16 +0000] rev 2577
Add a cost scaling min cost flow algorithm.

Add a cost scaling algorithm, which is performing generalized
push-relabel operations. It is almost as efficient as the capacity
scaling algorithm, but slower than network simplex.

Mon, 18 Feb 2008 03:32:56 +0000Improvements in MinCostFlow and MinCostMaxFlow.
kpeter [Mon, 18 Feb 2008 03:32:56 +0000] rev 2576
Improvements in MinCostFlow and MinCostMaxFlow.

Main changes:
- MinCostMaxFlow also provides dual solution.
- Change the name of private members to start with "_".
- Change the name of function parameters not to start with "_".
- Remove unnecessary documentation for private members.
- Doc improvements.

Mon, 18 Feb 2008 03:32:06 +0000Major improvements in NetworkSimplex.
kpeter [Mon, 18 Feb 2008 03:32:06 +0000] rev 2575
Major improvements in NetworkSimplex.

Main changes:
- Use -potenital[] instead of potential[] to conform to the usual
terminology.
- Use function parameter instead of #define commands to select pivot rule.
- Use much faster implementation for the candidate list pivot rule.
It is about 5-20 times faster now.
- Add a new pivot rule called "Limited Search" that is a modified
version of "Block Search". It is about 25 percent faster on rather
sparse graphs.
- By default "Limited Search" is used for sparse graphs and
"Block Search" is used otherwise. This combined method is the most
efficient on every input class.
- Change the name of private members to start with "_".
- Change the name of function parameters not to start with "_".
- Remove unnecessary documentation for private members.
- Many doc improvements.

Mon, 18 Feb 2008 03:30:53 +0000Improvements in CapacityScaling.
kpeter [Mon, 18 Feb 2008 03:30:53 +0000] rev 2574
Improvements in CapacityScaling.

Main changes:
- Use -potenital[] instead of potential[] to conform to the usual
terminology.
- Change the name of private members to start with "_".
- Change the name of function parameters not to start with "_".
- Remove unnecessary documentation for private members.
- Doc improvements.

Mon, 18 Feb 2008 03:30:12 +0000Improvements in CycleCanceling.
kpeter [Mon, 18 Feb 2008 03:30:12 +0000] rev 2573
Improvements in CycleCanceling.

Main changes:
- Use function parameter instead of #define commands to select negative
cycle detection method.
- Change the name of private members to start with "_".
- Change the name of function parameters not to start with "_".
- Remove unnecessary documentation for private members.
- Doc improvements.

Fri, 08 Feb 2008 11:58:32 +0000Fix VPATH builds.
ladanyi [Fri, 08 Feb 2008 11:58:32 +0000] rev 2572
Fix VPATH builds.

Fri, 08 Feb 2008 11:04:37 +0000Hopefully fix all compilation errors.
alpar [Fri, 08 Feb 2008 11:04:37 +0000] rev 2571
Hopefully fix all compilation errors.

Fri, 08 Feb 2008 10:42:38 +0000Fix a silly typo
alpar [Fri, 08 Feb 2008 10:42:38 +0000] rev 2570
Fix a silly typo

Fri, 08 Feb 2008 10:38:08 +0000#include<cmath> -> #include<lemon/math.h>
alpar [Fri, 08 Feb 2008 10:38:08 +0000] rev 2569
#include<cmath> -> #include<lemon/math.h>

Fri, 08 Feb 2008 10:18:55 +0000Math constants + configure bugfix backported
alpar [Fri, 08 Feb 2008 10:18:55 +0000] rev 2568
Math constants + configure bugfix backported
from hg a315a588a20d and 761622e5ed4c

Fri, 08 Feb 2008 09:56:46 +0000Update the server and the repository names to lemon.
alpar [Fri, 08 Feb 2008 09:56:46 +0000] rev 2567
Update the server and the repository names to lemon.

Fri, 08 Feb 2008 09:52:48 +0000Doc improvments backported from hg 9df0fe5e5109
alpar [Fri, 08 Feb 2008 09:52:48 +0000] rev 2566
Doc improvments backported from hg 9df0fe5e5109

Tue, 05 Feb 2008 12:45:23 +0000Bug fix in heap_test.cc.
kpeter [Tue, 05 Feb 2008 12:45:23 +0000] rev 2565
Bug fix in heap_test.cc.

Tue, 05 Feb 2008 12:41:05 +0000Several doc improvements and fixes in maps.h and concepts/maps.h.
kpeter [Tue, 05 Feb 2008 12:41:05 +0000] rev 2564
Several doc improvements and fixes in maps.h and concepts/maps.h.

Tue, 05 Feb 2008 11:24:32 +0000Small fixes in README.
kpeter [Tue, 05 Feb 2008 11:24:32 +0000] rev 2563
Small fixes in README.

Tue, 05 Feb 2008 11:23:23 +0000Improvements and fixes in dim2.h.
kpeter [Tue, 05 Feb 2008 11:23:23 +0000] rev 2562
Improvements and fixes in dim2.h.

- Several doc improvements.
- Fix BoundingBox::operator& implementation.

Tue, 05 Feb 2008 11:10:08 +0000Translate Hungarian varible names and improve messages in dim_test.cc.
kpeter [Tue, 05 Feb 2008 11:10:08 +0000] rev 2561
Translate Hungarian varible names and improve messages in dim_test.cc.

Tue, 05 Feb 2008 11:03:55 +0000Fix the rename script.
kpeter [Tue, 05 Feb 2008 11:03:55 +0000] rev 2560
Fix the rename script.

Tue, 29 Jan 2008 03:39:05 +0000grid_ugraph.h: fixed #18 (global functions inlined)
klao [Tue, 29 Jan 2008 03:39:05 +0000] rev 2559
grid_ugraph.h: fixed #18 (global functions inlined)

Mon, 28 Jan 2008 11:42:46 +0000Improved rename script to handle includes correctly.
kpeter [Mon, 28 Jan 2008 11:42:46 +0000] rev 2558
Improved rename script to handle includes correctly.

Mon, 21 Jan 2008 15:35:55 +0000Reveal an existing functionality in the documentation
alpar [Mon, 21 Jan 2008 15:35:55 +0000] rev 2557
Reveal an existing functionality in the documentation

Sun, 13 Jan 2008 10:32:14 +0000Cleanup in the minimum cost flow files.
kpeter [Sun, 13 Jan 2008 10:32:14 +0000] rev 2556
Cleanup in the minimum cost flow files.
The changes only affects the documentation and the look of the source codes.

Sun, 13 Jan 2008 10:26:55 +0000Reimplemented MinMeanCycle to be much more efficient.
kpeter [Sun, 13 Jan 2008 10:26:55 +0000] rev 2555
Reimplemented MinMeanCycle to be much more efficient.
The new version implements Howard's algorithm instead of Karp's algorithm and
it is at least 10-20 times faster on all the 40-50 random graphs we have tested.

Mon, 07 Jan 2008 17:07:40 +0000Minor doc fix
alpar [Mon, 07 Jan 2008 17:07:40 +0000] rev 2554
Minor doc fix

Mon, 07 Jan 2008 13:09:48 +0000Happy New Year to LEMON (+ better update-copyright-header script)
alpar [Mon, 07 Jan 2008 13:09:48 +0000] rev 2553
Happy New Year to LEMON (+ better update-copyright-header script)

Fri, 04 Jan 2008 00:47:08 +0000Improved rename script to avoid "undirected digraph".
kpeter [Fri, 04 Jan 2008 00:47:08 +0000] rev 2552
Improved rename script to avoid "undirected digraph".

Mon, 31 Dec 2007 19:21:21 +0000Include functional because of std::less.
ladanyi [Mon, 31 Dec 2007 19:21:21 +0000] rev 2551
Include functional because of std::less.

Sun, 30 Dec 2007 18:23:32 +0000Changing degree of tournament tree
deba [Sun, 30 Dec 2007 18:23:32 +0000] rev 2550
Changing degree of tournament tree
Bug fix in union find
Small efficiency improvment in bipartite matchings

Sat, 29 Dec 2007 15:11:41 +0000Test program for max weighted matchings
deba [Sat, 29 Dec 2007 15:11:41 +0000] rev 2549
Test program for max weighted matchings

Fri, 28 Dec 2007 11:00:51 +0000Edmond's Blossom shrinking algroithm:
deba [Fri, 28 Dec 2007 11:00:51 +0000] rev 2548
Edmond's Blossom shrinking algroithm:
MaxWeightedMatching
MaxWeightedPerfectMatching

Thu, 27 Dec 2007 13:40:16 +0000Renaming state_enum to State
deba [Thu, 27 Dec 2007 13:40:16 +0000] rev 2547
Renaming state_enum to State
Removing "Type" suffix from typedefs
Moving implementation into the class definition

Thu, 20 Dec 2007 15:21:22 +0000Bug fix in erase
deba [Thu, 20 Dec 2007 15:21:22 +0000] rev 2546
Bug fix in erase

Thu, 20 Dec 2007 15:13:06 +0000Casting index to int
deba [Thu, 20 Dec 2007 15:13:06 +0000] rev 2545
Casting index to int

Wed, 19 Dec 2007 22:23:28 +0000Bug fix (Circulation interface changed).
kpeter [Wed, 19 Dec 2007 22:23:28 +0000] rev 2544
Bug fix (Circulation interface changed).

Wed, 19 Dec 2007 09:16:22 +0000Change the local variables lower case
alpar [Wed, 19 Dec 2007 09:16:22 +0000] rev 2543
Change the local variables lower case