first pass at swift