added instructions and variable args