fixed many many things