cleaning some stuff up, adding new funcitonality