Rework everything once more and fix all errors