simplified generic signature