some improvements & fixes;
refactoring;