Make module more agnostic

- provide options for user
- add repo pulling