Merging with master branch

Merging branch with master branch and modifying project for own purposes.