adding a gem source
modernization and error handling