I encourage feedback on this! Alterations, etc are welcome.