For those of you who have worked with this logic and have experimented a nightmare while extending it (E.g. ZZ9 XD): I solved this problem! Now, the only thing you'll have to change is the 'Top' and 'Bottom' Variables!
Thanks to ZZ9 for (part of) the motor and the beep and thanks to STS for the the voice