To do (*Changes):
 * improve documentation
