porting from master (bugfix)
FUCK how many conflicts do i have to fix