Major re-write - Modularize, infinite, cleaner, minimaps