optimization changes
working changes for better representation