Another try at splitting it up in 3 parts