more generic syntax