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