minor changes  and optimisations
Revert "minor changes  and optimisations"

This reverts commit e2bb498952ff593acbc712497109aeb080ec1ff4.
Revert "Revert "minor changes  and optimisations""

This reverts commit 1648e09f61b793e8aafb2a79fb34206228570033.