TODO: comment the value factory and provide use examples
added gitignore file