Converted to Module Pattern.