Code refactoring and some bug fixes on properties by changing weak to strong.