Various updates and more code was implemented but still incomplete and untested.