code cleanup (mainly parser)
bug fixed: when no primary monitor is defined, define one