general refactor - behavior more than acceptable