First Pull Request, including type hinting, added dependencies, add lock file