refactored def cases and added dance