Extensive changes and refactoring coming soon!