move effect code
battle spec implementation and test