almost finished - spaghetti code - no client yet - no testing yet - worse commit ever