This is all a work in progress, Excuse the mess.