Refactored Components to be more future-proof