Work in progress...
Everything works... cut⁻ TODO