Language fine tuning.
Divided code for better maintenance.