issue #50
documentation
issue #23
issue #51