fix gitignore, small refactor in factories and Item