removed duplications, but theres some more todo