Merging some new code from untracked, updated version