this works more consistently and is simpler