Separating definitions and declarations. Not completely finished, not build-ready.
New, clean file structure.
Added readme.