(dev) added gitignore
(dev) refactored tests into implementation
(dev) updated main file