* answer refactoring