some beginnign refactoring collition handeling, harder than anticipated