80% working initial commit