Generator works for multiple mediums