rework some parts