fixed a bunch, some still need testing, @eiyeron check todos:)