modified execute method