Added some documentation, changed a little methods and added the first
test declarations.