some more modification