rework
progress!