Added type hint
Refactored algorithms + improved documentation
Clean up
Refactored into package, to use gap argument parser; Remade build system