Multiple changes

This is to synchronize my repository with master branch. My changes are not ready for public.