actually have a working version except for replacement