added project files, gitignore and tests