oops missed some stuff refactoring