Add documentation
Rework command runner