* use babl library
* exceptions?
