after some mroe changes i think