almost everything works ---of course completely untestet