Re-worked rover from breakdown, added previous logic inside