Full rework, first attempt