fixed some stuff and implemented some stuff