re-write to make most common usage easier