latest version, now cleaning up
latest version, much cleaner