Lots of changes, almost fully working, mabye just some interface changes remaining