improved / fixed many things