lots of new code, but its a disaster atm and doesnt run
little fixes before a pull
lots of fixes to save before a pull