way too complicated for a start, many changes will come along. just hack away instead of planning