changes for effieciency