refactored findext to state design