# Introduction

The Melange team is a small team (at the moment), however, we are all very dedicated and have intimate knowledge of the codebase.

# The List
  * Mario Ferraro
  * Daniel Hans
  * Sverre Rabbelier
  * Madhusudan C.S.
  * Leo (Chong Liu)

# Admins
  * Lennard de Rijk
  * Sverre Rabbelier (backup)