updated to use less directly