rework some stuff