31 refactored