Update, a lot to do. Works now but too messy.