cleaned up some methods that could just be calls to foldl