First commit with everything, don't remember what works here and what doesn't