Final version (except cosmetics). All cleaned up, Fully working and
functional