commands is now an array, rather than a function