non lazy wrapper