Modify to suit our requirements.