Working on various improvements, properly implementing concurency