API improvements

Update, add, delete where checked and tests added. Exceptions module was created.
This might be better the way it was. It's much more reasonable that way.