added some "bugs" (untentionaly) but made it rework