arguments type check moved to execute method