added out type throughout expressions, added switch skeleton