overall a good solution, surely it could be improved on some details but it remains a good reality