some fixes;
refactoring;