Clean up,
add documentation.