additions - fixes - refactoring