Seperated code into logical files for easier overlook. Still in development stage!