moved type dispatching into own module Animals