more changes thanks matrix64