more changes for new implementation