changes for new implementation
changes for new implementation