arbitrary input