update for Swift-style constructor