* first add, code is a working prototype, and will need some error handling in production.