major update to suit our needs