fixed all the bugs... maybe