refactored behavior complete.