fixed some todos and added some