/awesome-for-beginners

A list of awesome beginners-friendly projects.

Awesome First PR Opportunities Awesome

A list of awesome beginner-friendly projects.

Inspired by First Timers Only blog post.

If you are a maintainer of open-source projects, add the label first-timers-only (or similar) to your project and list it here so that people can find it.

If you are looking to contribute, then explore this list, look at first-timers-only labelled open issues on Github, and follow @first_tmrs_only on Twitter to be notified when a new first-timers-only issue is created.

If you are not a programmer but would like to contribute, check out the Awesome for non-programmers list.

Table of Contents:

.NET

  • MvvmCross (label: first-timers-only)
    The .NET MVVM framework for cross-platform solutions, including Xamarin.iOS, Xamarin.Android, Windows and Mac.
  • RawCMS (label: good first issue)
    RawCMS is a headless CMS written in ASP.NET Core, built for developers that embrace API-first technology.
  • Shouldly (label: Jump-In)
    Should testing for .NET - the way Asserting Should be!

C

  • Neovim (label: good first issue)
    Vim-fork focused on extensibility and agility.

C#

  • Cake (label: Good first issue)
    Cake (C# Make) is a free and open source cross-platform build automation system with a C# DSL for tasks such as compiling code, copying files and folders, running unit tests, compressing files and building NuGet packages.
  • grok.net (label: good first issue)
    Cross platform .NET grok implementation
  • OpenRA (label: Easy)
    A Real Time Strategy game engine supporting early Westwood classics such as Command & Conquer: Red Alert.
  • osu! (label: good-first-issue)
    Music game. Rhythm is just a click away!
  • Uno Platform (label: good first issue)
    OSS project for creating pixel-perfect, single-source C# and XAML apps which run natively on iOS, Android, macOS, Linux and Web via WebAssembly.

C++

  • electron (label: good first issue)
    Build cross platform desktop apps with JavaScript, HTML, and CSS
  • Godot Engine (label: junior job)
    2D and 3D cross-platform game engine. Also has C# and Python code.
  • MoveIt (label: good first issue)
    Easy-to-use open source robotics manipulation platform for developing commercial applications, prototyping designs, and benchmarking algorithms.
  • projectM (label: good first issue)
    A music visualizer library using OpenGL and GLSL. Has applications using Qt5, SDL, emscripten, iTunes, Kodi.
  • Roc Toolkit (label: help wanted)
    A toolkit for real-time audio streaming over the network.
  • tensorflow (label: stat:contributions welcome)
    Computation using data flow graphs for scalable machine learning
  • Yugabyte DB (label: good first issue)
    Distributed SQL database.

Clojure

  • Alda (label: low-hanging-fruit)
    A music programming language for musicians. 🎶

ClojureScript

  • LightTable (label: good first issue)
    The Next Generation code editor! One of the top funded projects on KickStarter.

CSS

  • sButtons (label: good first issue)
    Simple buttons you can easily use for your next project.

Dart

  • dart.dev (label: beginner)
    A website covering Dart language and common libraries, for developers of Dart libraries, web apps, server-side code, and mobile (Flutter) apps.

Elixir

  • Ecto (label: Level:Starter)
    Ecto is a database wrapper and language integrated query for Elixir
  • Elixir (label: Level:Starter)
    Elixir is a dynamic, functional language designed for building scalable and maintainable applications

Go

  • CockroachDB (label: good first issue)
    The Scalable, Survivable, Strongly-Consistent SQL Database
  • containerd (label: exp/beginner)
    Industry-standard container runtime with an emphasis on simplicity, robustness and portability.
  • Docker/CLI (label: exp/beginner)
    The Docker CLI
  • Helm (label: good first issue)
    The Kubernetes Package Manager
  • httpexpect (label: help wanted)
    End-to-end HTTP and REST API testing for Go.
  • Hugo (label: exp/beginner)
    A Fast and Flexible Static Site Generator built with love in GoLang
  • Killgrave (label: good first issue)
    Simple way to generate mock servers in Go.
  • Kubernetes (label: good first issue)
    Production-Grade Container Scheduling and Management System
  • lxd (label: easy)
    System container and virtual machine manager.
  • Mattermost (label: Up For Grabs, Difficulty/1:Easy, Tech/Go)
    Open source Slack-alternative in Golang and React
  • Meshery (label: good first issue)
    Meshery, the service mesh management plane.
  • Moby (label: exp/beginner)
    Open-source application container engine
  • PureLB (label: GoodFirstIssue)
    Load-balancer orchestrator for Kubernetes that uses standard Linux networking and routing protocols.
  • script (label: good first issue)
    A Go library for doing the kind of tasks that shell scripts are good at: reading files, executing subprocesses, counting lines, matching strings, and so on. Beginners are very welcome and will get detailed code review and help through the PR process.
  • Terraform (label: good first issue)
    A tool for building, changing, and versioning infrastructure safely and efficiently.
  • TiDB (label: for new contributors)
    A distributed scalable Hybrid Transactional and Analytical Processing (HTAP) database

Java

  • appsmith (label: good first issue)
    Drag & Drop internal tool builder
  • elasticsearch (label: good first issue)
    Open Source, Distributed, RESTful Search Engine.
  • Images-to-PDF (label: good first issue)
    An android app to convert images to PDF file.
  • JabRef (label: good first issue)
    Desktop application for managing literature references using modern Java features including JavaFX. Dedicated to code quality and constructive feedback: Each Pull Request is reviewed by two developers to provide high-quality feedback and to ensure high quality of new contributions.
  • SirixDB (label: good first issue)
    SirixDB is an evolutionary, versioned NoSQL document store (XML and JSON) written (mostly) in Java. It stores compact snapshots during commits with many concepts borrowed from ZFS and Git. Each revision is indexed and the document store can be queried with temporal queries. It's especially well suited for modern hardware.
  • Strongbox (label: good first issue)
    Strongbox is an artifact repository manager written in Java.
  • TEAMMATES (label: good first issue)
    TEAMMATES is a free online tool for managing peer evaluations and other feedback paths of your students.
  • Trino (formerly Presto SQL) (label: good first issue)
    A distributed SQL query engine for big data. Ask for guidance on project's Slack.
  • Wikimedia Commons Android App (label: good first issue)
    Allows users to upload pictures from their Android phone/tablet to Wikimedia Commons.
  • XWiki (label: Onboarding)
    XWiki is a free wiki software platform written in Java with a design emphasis on extensibility. Beginners should follow the onboarding wiki.
  • zerocode (label: good first issue)
    API Automation without coding, easy JSON response assertions, Testing REST, SOAP, Kafka and Java/DB APIs, CI/Jenkins Friendly.

JavaScript

  • Adobe Brackets (label: starter bug)
    An open source code editor for the web, written in JavaScript, HTML and CSS.
  • altair (label: good first issue)
    A beautiful feature-rich GraphQL Client for all platforms.
  • Ancient Beast (label: easy)
    Turn based strategy game where you 3d print a squad of creatures with unique abilities in order to defeat your enemies.
  • annyang (label: first-timers-only)
    A popular Speech Recognition library used to communicate with everything from websites to smart mirrors to flying drones.
  • appsmith (label: good first issue)
    Drag & Drop internal tool builder A Svelte/Sapper based web front-end for SirixDB, which is a versioned NoSQL document store (XML and JSON) written in Java.
  • Atom (label: beginner)
    The hackable text editor
  • AVA (label: good for beginner)
    Futuristic test runner.
  • Babel (label: good first issue)
    A compiler for writing next generation JavaScript.
  • Binari (label: up for grabs)
    Interactive code editor with a live binary tree visual designed to teach new developers the fundementals of dynamic programming.
  • Botpress (label: good first issue)
    The only sane way to build great bots.
  • Brave Browser (label: good first issue)
    Desktop browser for macOS, Windows, and Linux.
  • cdnjs (label: good first issue)
    The best FOSS web front-end resource CDN
  • Check It Out (label: good first issue)
    Check It Out is an ncurses-like CLI to let the user interactively navigate and select a git branch to check out.
  • Create React App (label: good-first-issue)
    Create React apps with no build configuration.
  • cypress (label: first-timers-only)
    Fast, easy and reliable testing for anything that runs in a browser.
  • Dragula (label: first-timers-only)
    Drag and drop so simple it hurts.
  • electron (label: good first issue)
    Build cross platform desktop apps with JavaScript, HTML, and CSS
  • Ember.js Data (label: Good for New Contributors)
    A data persistence library for Ember.js.
  • Ember.js (label: Good for New Contributors)
    A JavaScript framework for creating ambitious web applications.
  • ESLint (label: good first issue)
    A fully pluggable tool for identifying and reporting on patterns in JavaScript.
  • eslint-plugin-unicorn (label: good for beginner)
    Awesome ESLint rules.
  • Fastify (label: good first issue)
    Fast and low overhead web framework, for Node.js.
  • freeCodeCamp (label: first timers only)
    Open source codebase and curriculum. Learn to code and help nonprofits.
  • Gatsby.js (label: good first issue)
    Build blazing fast, modern apps and websites with React.
  • Ghost (label: good first issue)
    Just a blogging platform
  • Habitica (label: good first issue)
    Habitica is a gamified task manager, webapp and android/ios app, really wonderful atmosphere. Guidance for contributing here (mongo, express, vue, node stack for webapp)
  • history (label: good-for-beginner)
    A minimal, functional history library for JavaScript.
  • Hoodie Camp (label: first-timers-only)
    Hoodie Camp is a space for new and existing contributors.
  • Hoppscotch (label: good first issue)
    A free, fast and beautiful API request builder.
  • Hyper (label: good first issue)
    JS/HTML/CSS Terminal
  • iD (label: good first issue)
    The easy-to-use OpenStreetMap editor in JavaScript.
  • Jest (label: good first issue)
    A complete and easy to set up JavaScript testing solution.
  • json-editor (label: good first issue)
    JSON Schema Based Editor. JSON Editor takes a JSON Schema and uses it to generate an HTML form. It has full support for JSON Schema version 3 and 4 and can integrate with several popular CSS frameworks (bootstrap, spectre, tailwind).
  • Kap (label: good first issue)
    An open-source screen recorder built with web technology
  • keystonejs (label: good first issue)
    The open source framework for developing database-driven websites, applications and APIs in Node.js. Built on Express and MongoDB.
  • Kinto.js (label: easy-pick)
    An offline-first JavaScript client leveraging the Kinto API for remote data synchronization.
  • Leaflet (label: good first issue)
    JavaScript library for mobile-friendly interactive maps.
  • Letra Extension (label: good first issue)
    Passively learn a new language every time you open a new tab.
  • material-ui (label: good first issue)
    React components for faster and easier web development. Build your own design system, or start with Material Design.
  • Mattermost (label: Up For Grabs, Difficulty:1/Easy, Tech/JavaScript)
    Open source Slack-alternative in Golang and React
  • md-page (label: good first issue)
    Create a webpage with just markdown.
  • Meteor (label: good first issue)
    Meteor is an ultra-simple environment for building modern web applications.
  • missioncontrol (label: first-timers-only)
    Mission Control is a free and open marketplace connecting autonomous vehicles (e.g., drones) with users looking for services such as package deliveries.
  • missions (label: first-timers-only)
    Missions is a mobile web app connecting DAV users looking to ship packages with autonomous drones looking for work in an open and free marketplace.
  • Mocha (label: good first issue)
    Javascript test framework for Node.js and the browser.
  • Moment.js (label: Up-For-Grabs)
    A lightweight JavaScript date library for parsing, validating, manipulating, and formatting dates.
  • name-suggestion-index (label: good first issue)
    Canonical common brand names for OpenStreetMap
  • NativeScript (label: good first issue)
    NativeScript is an open source framework for building truly native mobile apps with JavaScript. Use web skills, like Angular and Vue.js, FlexBox and CSS, and get native UI and performance on iOS and Android.
  • netlify-cms (label: good first issue)
    Open source content management for your git workflow.
  • Next.js (label: good first issue)
    A minimalistic framework for universal server-rendered React applications
  • Node.js core (label: good first issue)
    JavaScript runtime built on Chrome's V8 JavaScript engine
  • nuclear (label: good first issue)
    Multiplatform music player that streams from free sources.
  • p5.js (label: good first issue)
    p5.js is a client-side JS platform that empowers artists, designers, students, and anyone to learn to code and express themselves creatively on the web.
  • pdf.js (label: 5-good-beginner-bug)
    PDF Reader in JavaScript
  • pixi.js (label: Difficulty: Easy)
    A 2D JavaScript Renderer
  • PouchDB (label: first time only)
    PouchDB is a pocket-sized database.
  • Predator (label: good first issue)
    A powerful open-source platform for load testing APIs.
  • ramda-adjunct (label: help wanted)
    Ramda Adjunct is the most popular and most comprehensive set of functional utilities for use with Ramda, providing a variety of useful, well tested functions with excellent documentation.
  • React-content-loader (label: good first issue)
    Tool to create your own react-content-loader easily.
  • React (label: good first issue)
    A declarative, efficient, and flexible JavaScript library for building user interfaces.
  • ReactiveSearch (label: good first issue)
    A UI components library for Elasticsearch: Available for React, Vue and React Native.
  • reactjs.org (label: good first issue)
    The documenation website for reactjs
  • React Native (label: Good first issue)
    A framework for building native apps with React.
  • React server (label: good-first-contribution)
    React framework with server render for blazing fast page load and seamless transitions between pages in the browser.
  • Reddit Enhancement Suite (label: help wanted)
    A browser extension to enhance the Reddit browsing experience.
  • Semantic-UI-React (label: good first issue)
    The official React integration for Semantic UI.
  • serverless (label: good first issue)
    The Serverless Framework
  • SimplQ (label: good first issue)
    Free online queue manager for easy and instant crowd control. Contributing Guidelines
  • SirixDB (label: good first issue)
  • squirrelly (label: good first issue)
    Squirrelly is a lightweight template engine that supports helpers, filters, partials, and more.
  • stryker (label: beginner friendly)
    The JavaScript mutation testing framework
  • swag-for-dev (label: good first issue)
    Swag opportunities for developers.
  • Tessel 2 CLI (label: contribution-starter)
    Command line interface to Tessel 2.
  • Time to Leave (label: good first issue)
    Working hours time tracker app based on Electron and Javascript.
  • TodoMVC (label: first time contributor)
    Helping you select an MV* framework by implementing Todo in lots of JavaScript apps.
  • Vest (label: good first issue)
    Validations framework inspired by unit testing frameworks.
  • Video Hub App (label: good first issue)
    Angular & Electron app for browsing and searching videos on your PC.
  • Video.js (label: first-timers-only)
    The player framework
  • Vue CLI (label: good first issue)
    Standard Tooling for Vue.js Development
  • Vue.js (label: good first issue)
    The Progressive JavaScript Framework.
  • VuePress (label: good first issue)
    Minimalistic Vue-powered static site generator
  • Vue Router (label: good first issue)
    The official router for Vue.js.
  • webdriver.io (label: first-timers-only)
    Next-gen browser and mobile automation test framework for Node.js
  • Webpack (label: D0: My First Commit (Contrib. Difficulty))
    A bundler for JavaScript and friends.
  • Yarn (label: good first issue)
    Fast, reliable, and secure dependency management.

Julia

Kotlin

LaTeX

  • Algorithmic Pseudocode (label: good first issue)
    A collection of language independent pseudocodes (pdf) for interview preparation and competitive programming.

Perl

  • Ravada (label: good first issue)
    Remote Virtual Desktops Manager.

PHP

  • Appwrite (label: good first issue)
    An End-to-end backend server for frontend and mobile developers. 🚀
  • Deployer (label: good for beginner)
    A deployment tool written in PHP with support for popular frameworks out of the box.
  • Drupal (label: N/A, link to external website)
    Leading open-source CMS for ambitious digital experiences that reach your audience across multiple channels.
  • Flarum (label: good first issue)
    Simple forum software for building great communities.
  • Laravel Newsletters (label: good first issue)
    A package that provides an easy way to integrate MailChimp with Laravel 5.
  • Matomo (label: help wanted)
    Matomo is the leading Free/Libre open analytics platform.
  • MediaWiki (label: good first task)
    The free and open-source wiki software package that powers Wikipedia.
  • NextCloud Server (label: good first issue)
    Nextcloud server, a safe home for all your data.
  • OrgManager (label: beginners-only)
    Supercharge your GitHub organizations!
  • PHP Censor (label: good-for-beginner)
    Open source self-hosted continuous integration server for PHP projects.
  • phpMyAdmin (label: newbie)
    Admin interface for MySQL written in PHP.
  • PrestaShop (label: good first issue)
    The open source ecommerce solution to start your online business and start selling online.
  • Symfony (label: good first issue)
    Symfony is a PHP framework for web applications and a set of reusable PHP components.

Python

  • Ansible (label:easyfix)
    A simple IT automation platform
  • ArviZ (label: Beginner)
    Exploratory Anaylsis of Bayesian Models.
  • Bokeh (label: good first issue)
    Bokeh is an interactive visualization library for modern web browsers.
  • BorgBackup (label: easy)
    Deduplicating backup program with compression and authenticated encryption.
  • CiviWiki (Good First Issue)
    Building a Better Democracy for the Internet Age
  • coala (label: difficulty/newcomer)
    A unified command-line interface for linting and fixing all your code, regardless of the programming languages you use.
  • cookiecutter (label: low-hanging-fruit)
    A command-line utility that creates projects from cookiecutters (project templates). E.g. Python package projects, jQuery plugin projects.
  • Create aio app (label: good first issue)
    A command line utility that creates the aiohttp template with the best practices.
  • datascience (label: good first issue)
    A Jupyter notebook Python library for introductory data science.
  • django cookiecutter (label: django hacktober special)
    An implementation of Python for backend web development.
  • Fabric (label: Low-hanging fruit)
    Pythonic remote execution and deployment.
  • jarvis (label: difficulty/newcomer)
    A personal assistant for Linux, MacOs and Windows based on Command line Interface.
  • JARVIS-on-Messenger (label: Low-Hanging Fruit)
    💬 A community-driven python bot that aims to be as simple as possible to serve humans with their everyday tasks http://m.me/J.A.R.V.I.S.on.Messenger
  • Jupyter notebook (label: good first issue)
    Jupyter interactive notebook.
  • Kinto (label: easy-pick)
    A lightweight JSON storage service with synchronisation and sharing abilities.
  • Kinto.sh (label: first-timers-only)
    Make Linux & Windows type like a mac.
  • Mailpile (label: low hanging fruit)
    A free & open modern, fast email client with user-friendly encryption and privacy features
  • matplotlib (label: good first issue)
    Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python.
  • MindsDB (label: good first issue)
    MindsDB is an open source AI layer for existing databases.
  • mitmproxy (label: help wanted)
    An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers
  • mygpo (label: starter-issue)
    The webservice for gpodder.net, a libre web service that allows users to manage their podcast subscriptions and discover new content.
  • mypy (label: good-first-issue)
    An optional static typing for python.
  • numpy (label: good first issue)
    It is the core library for scientific computing, which contains a powerful n-dimensional array object.
  • opsdroid (label: good first issue)
    An open source chat-ops bot framework.
  • pandas (label: good first issue)
    Flexible and powerful data analysis / manipulation library for Python, providing labeled data structures similar to R data.frame objects, statistical functions, and much more
  • Pytest (label: status: easy)
    The pytest framework makes it easy to write small tests, yet scales to support complex functional testing.
  • Python Babel (label: difficulty/low)
    The Python Internationalization Library.
  • Pytorch (label: Good first issue)
    PyTorch is an open source machine learning library based on the Torch library, used for applications such as computer vision and natural language processing.
  • SaltStack (label: good first issue)
    Software to automate the management and configuration of any infrastructure or application at scale.
  • scikit-learn (label: good first issue)
    Scikit-learn is a machine learning library for Python.
  • scrapy (label: good first issue)
    A fast high-level web crawling & scraping framework for Python.
  • Sorting-Algorithms-Visualizer (label: good first issue)
    A tool for visualizing sorting algorithms with a educational Wiki Page.
  • SymPy (label: Easy to Fix)
    A Python library for symbolic mathematics.
  • tree-sitter-legesher-python (label: Good First Issue)
    Learn and code in Python using your native language.
  • wemake-python-styleguide (label: level:starter)
    The strictest and most opinionated python linter ever!
  • Zulip (label: good first issue)
    Powerful open source group chat.

Ruby

  • bolt (label: Beginner Friendly)
    Bolt is a Ruby command-line tool for executing commands, scripts, and tasks on remote systems using SSH and WinRM.
  • chatwoot (label: good first issue)
    Opensource customer support platform which can be an alternative to Intercom, Zendesk, Drift, Crisp etc.
  • chef (label: Type: Jump In)
    A systems integration framework, built to bring the benefits of configuration management to your entire infrastructure
  • Discourse (tag: #starter-task)
    Civilized discussion platform. See "How to contribute to Discourse".
  • Faker (label: good first issue)
    Faker is a Ruby library for generating fake data such as names, addresses, and phone numbers.
  • Goby (label: beginner)
    Framework for developing text-RPGs.
  • Hanami (label: easy)
    A modern framework for Ruby.
  • JRuby (label: beginner)
    An implementation of Ruby on the Java Virtual Machine.
  • mapknitter (label: first-timers-only)
    Upload your own aerial images, position (rubbersheet) them in a web interface over existing map data, and share via web or composite and export for print.
  • Matestack (label: good first issue)
    Write dynamic User Interfaces in pure Ruby. Rails engine built on top of Vue.js
  • ohai (label: Type: Jump In)
    Ohai profiles your system and emits JSON
  • open-build-service (label: good first issue)
    A generic system to build and distribute packages from sources in an automatic, consistent and reproducible way.
    See "How to contribute to open build service"
  • osem (label: good first issue)
    Open Source Event Manager. An event management tool tailored to Free and Open Source Software conferences
    See "How to contribute to osem"
  • PublicLab.org (label: first-timers-only)
    An open source publishing platform for environmental projects. Check out new contributors welcome page.
  • Ruby on Rails (label: good first issue)
    Ruby on Rails (Rails) is an open source web application framework written in Ruby.
  • Sinatra (label: good first issue)
    Classy web-development dressed in a DSL.

Rust

  • dotenv-linter (label: good first issue)
    ⚡️Lightning-fast linter for .env files. Written in Rust 🦀
  • Hyper (label: E-easy)
    A fast, safe and correct low-level HTTP library for Rust.
  • Iron (label: easy)
    An extensible, concurrent web framework for Rust
  • nushell (label: good first issue)
    A modern shell for the GitHub era written in Rust.
  • Rust-Clippy (label: good first issue)
    A bunch of lints to catch common mistakes and improve Rust code
  • Rustfmt (label: good first issue)
    A tool for formatting Rust code according to style guidelines.
  • Servo (label: E-easy)
    A browser engine designed for applications including embedded use.
  • TiKV (label: D: difficulty/easy)
    A distributed transactional key-value database
  • Veloren (label: beginner and difficulty::easy)
    Veloren is a multiplayer voxel RPG written in Rust.

Scala

  • playframework (label: good first issue)
    The High Velocity Web Framework
  • Twitter Util (label: good first issue)
    Wonderful reusable code from Twitter

Smalltalk

  • Pharo (label: good first issue)
    A dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.

Swift

  • OpenFoodFacts-iOS (label: help wanted)
    Collaborative, free and open database of food products from around the world. Scan barcode to get info or add a product

TypeScript

  • Booster (label: good first issue)
    A truly serverless framework, write your code and deploy it in seconds without any server configuration files.
  • game-of-life (label: good first issue)
    Conway's Game of Life web version!
  • Graphback (label: good first issue)
    A CLI and runtime framework to generate a GraphQL API in seconds.
  • jupyterlab-lsp (label: good first issue)
    Coding assistance for JupyterLab (code navigation + hover suggestions + linters + autocompletion + rename)
  • LitmusChaos (label: good first issue)
    Litmus is a toolset to do cloud-native chaos engineering.
  • reatom (label: good first issue)
    Reatom is declarative and reactive state manager, designed for both simple and complex applications.
  • tinyhttp (label: good first issue)
    A 0-legacy, tiny & fast web framework as a replacement of Express.
  • tslint-eslint-rules (label: nice first contribution)
    ESLint rules for TSLint.
  • TypeScript (label: good first issue)
    A superset of JavaScript that compiles to clean JavaScript output.
  • Visual Studio Code (label: good first issue)
    A new type of tool that combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle.

Contribute

Contributions are welcome! See the contribution guidelines.

Thanks to GitHub Sponsors


Thamara Andrade

Shehan Atukorala

License

CC0

To the extent possible under law, the author has waived all copyrights and related or neighboring rights to this work.