just commiting so I can change computers, nothing significant has been done so far, do not merge with monitor.cpp if you cna avoid it