Use factory method instead
Run interpreted
Fix indentetion
Remove unneeded includes from header
Add some todo to code