some modifications too