split into seperate files, more...

- split into seperate files
- seperate calculation from presentation
- working on implementing configurable calculation method