some modifications according to requirements