Bring develop branch updates into refactor