refactored dependencies to allow core-only compilation
updated gitignore
some fixes
fixed a few compile errors
final touches on the refactoring
another for the ignore list