I recommend this fantastic library by Alvaro Trigo.