elaboration refactoring, should work for all challenges now