fixade mycket, men inte debugat