and I'm having a difficult time,
So what is your difficult time?
If you describe what your issue is then maybe we can evaluate your code accordingly instead of requesting us to find mistakes.
Remembering SHIFT is referenced to BASE coordinate and FRAME produces a location reference to the current BASE coordinate and there is no mention of this in your code.