rework some implements