algorithms with values