add modified function