a little rework