Refactoring
Pulling calculate out so the init doesn't have a million options