107 - functional but inefficent